package com.xxg.renrenmessage.service;

import com.xxg.renrencommon.domain.bean.MessageInfo;
import com.xxg.renrencommon.domain.result.BaseResult;
import com.xxg.renrenmessage.domain.query.ListMessageQuery;
import com.xxg.renrenmessage.domain.query.SetAllReadQuery;
import com.xxg.renrenmessage.domain.query.SetReadQuery;

import java.util.List;

/**
 * 类说明
 *
 * @author szj
 * @date 2021/12/6
 */
public interface MessageService {

    /**
     * 查询消息列表
     *
     * @param userId 登录id
     * @param query  查询消息列表参数
     * @return BaseResult<List < MessageInfo>>
     */
    BaseResult<List<MessageInfo>> list(String userId, ListMessageQuery query);

    /**
     * 将指定消息设为已读
     *
     * @param userId 登录id
     * @param query  将指定消息设为已读参数
     * @return BaseResult<Void>
     */
    BaseResult<Void> setRead(String userId, SetReadQuery query);

    /**
     * 全部已读
     *
     * @param userId 登录id
     * @param query  全部已读参数
     * @return BaseResult<Void>
     */
    BaseResult<Void> setAllRead(String userId, SetAllReadQuery query);

    /**
     * 将指定消息删除
     *
     * @param userId 登录id
     * @param query  将指定消息设为已读参数
     * @return BaseResult<Void>
     */
    BaseResult<Void> delete(String userId, SetReadQuery query);
}
